package model;

import java.io.Serializable;

/**
 *
 * @author rosana
 */
public class Usuario implements Serializable{
    
   private int idUsuario;
   private Profissional profissional;
   private String login;
   private String senha;
   private TipoUsuario tipoUsuario;
   
   /**
     * construtor vazio
     */  
   
   public Usuario(){
       
   }
   
   public Usuario(Profissional profissional, String login, String senha, TipoUsuario tipoUsuario) {
        this.profissional = profissional;
        this.login = login;
        this.senha = senha;
        this.tipoUsuario = tipoUsuario;
    }

    public Usuario(int idUsuario, Profissional profissional, String login, String senha, TipoUsuario tipoUsuario) {
        this.idUsuario = idUsuario;
        this.profissional = profissional;
        this.login = login;
        this.senha = senha;
        this.tipoUsuario = tipoUsuario;
    }

   
    public void setIdUsuario(int idUsuario) {
        this.idUsuario = idUsuario;
    }  
   
    /**
     * @return the idUsuario
     */
    public int getIdUsuario() {
        return idUsuario;
    }

    /**
     * @return the profissional
     */
    public Profissional getProfissional() {
        return profissional;
    }

    /**
     * @param profissional the profissional to set
     */
    public void setProfissional(Profissional profissional) {
        this.profissional = profissional;
    }

    /**
     * @return the login
     */
    public String getLogin() {
        return login;
    }

    /**
     * @param login the login to set
     */
    public void setLogin(String login) {
        this.login = login;
    }

    /**
     * @return the senha
     */
    public String getSenha() {
        return senha;
    }

    /**
     * @param senha the senha to set
     */
    public void setSenha(String senha) {
        this.senha = senha;
    }

    /**
     * @return the profissional
     */
    public TipoUsuario getTipoUsuario() {
        return tipoUsuario;
    }

    /**
     * @param profissional the profissional to set
     */
    public void setTipoUsuario(TipoUsuario tipoUsuario) {
        this.tipoUsuario = tipoUsuario;
    }

    @Override
    public String toString() {
        return "Usuario{" + "idUsuario=" + idUsuario + ", profissional=" + profissional + ", login=" + login + ", tipoUsuario=" + tipoUsuario + '}';
    }

    @Override
    public int hashCode() {
        int hash = 7;
        hash = 67 * hash + this.idUsuario;
        hash = 67 * hash + (this.profissional != null ? this.profissional.hashCode() : 0);
        return hash;
    }

    @Override
    public boolean equals(Object obj) {
        if (obj == null) {
            return false;
        }
        if (getClass() != obj.getClass()) {
            return false;
        }
        final Usuario other = (Usuario) obj;
        if (this.idUsuario != other.idUsuario) {
            return false;
        }
        if (this.profissional != other.profissional && (this.profissional == null || !this.profissional.equals(other.profissional))) {
            return false;
        }
        return true;
    }    
   
    
}
